package cn.iocoder.yudao.module.system.controller.admin.workorder.vo;

import cn.iocoder.yudao.module.system.controller.admin.workappendage.vo.WorkAppendageSaveReqVO;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 工单管理新增/修改 Request VO")
@Data
public class WorkOrderSaveReqVO {

    @Schema(description = "工单id", requiredMode = Schema.RequiredMode.REQUIRED, example = "7689")
    private Long id;

    @Schema(description = "客户编号", example = "24736")
    private String customerId;
    @Schema(description = "计划号", example = "24736")
    private String planNumber;
    @Schema(description = "入库方式：1数量2重量")
    private String storageMethod;
    @Schema(description = "下挂人员", example = "24736")
    private Integer hangingUid;
    @Schema(description = "上挂人员", example = "24736")
    private Integer rackUid;

    @Schema(description = "客户名称", example = "张三")
    private String customerName;

    @Schema(description = "供方名称", example = "赵六")
    private String supplierName;

    @Schema(description = "产品名称", example = "王五")
    private String productName;

    @Schema(description = "规格型号")
    private String specification;

    @Schema(description = "产品单价", example = "8619")
    private String productPrice;

    @Schema(description = "加工工艺")
    private String processingTechnology;

    @Schema(description = "预估单价", example = "1894")
    private BigDecimal estimatedUnitPrice;

    @Schema(description = "产品单面积")
    private String productArea;

    @Schema(description = "返工单价", example = "12822")
    private BigDecimal reworkUnitPrice;

    @Schema(description = "产品单重")
    private String productSingleWeight;

    @Schema(description = "计费方式")
    private String billingMethod;

    @Schema(description = "产品材质")
    private String productMaterial;

    @Schema(description = "销售收容数")
    private String salesFigures;

    @Schema(description = "是否含税")
    private String taxIncluded;

    @Schema(description = "适用挂具")
    private String rack;

    @Schema(description = "挂具数量")
    private Integer rackNumber;

    @Schema(description = "电压")
    private String voltage;

    @Schema(description = "膜厚要求")
    private String filmThickness;

    @Schema(description = "单挂数量")
    private Integer singleHangingQuantity;

    @Schema(description = "链速")
    private String chainSpeed;

    @Schema(description = "包装方式")
    private String packagingMethod;

    @Schema(description = "分组")
    private String subgroup;

    @Schema(description = "图片")
    private String picture;

    @Schema(description = "订单交期")
    private LocalDateTime orderDeliveryTime;

    @Schema(description = "白件数量")
    private BigDecimal whiteItemsNum;

    @Schema(description = "黑件数量")
    private BigDecimal blackItemsNum;

    @Schema(description = "在库数量")
    private BigDecimal quantityStock;

    @Schema(description = "期初数量（每月月初剩余的白件数量）")
    private BigDecimal initialQuantity;

    @Schema(description = "入库数量")
    private BigDecimal inventoryQuantity;

    @Schema(description = "上挂数量")
    private BigDecimal rackingQuantity;

    @Schema(description = "下挂数量")
    private BigDecimal hangingQuantity;

    @Schema(description = "成品库数量")
    private BigDecimal finishedProductNum;

    @Schema(description = "销售数量")
    private BigDecimal salesVolumes;

    @Schema(description = "成品不良数量")
    private BigDecimal cpDefectNum;

    @Schema(description = "白皮不良数量")
    private BigDecimal bpDefectNum;

    @Schema(description = "是否退回")
    private String shouldReturn;

    @Schema(description = "备注")
    private String remarks;
    @Schema(description = "附属物")
    private List<WorkAppendageSaveReqVO> appendageSaveReqVOS;



}
